Repository navigation
research(ui): 几何切换与重绘配对 (#194) - #222
Conversation
The analyzer now prints each resize together with the following repaint batches and their consumption grid, which is the direct evidence for a repaint consumed at the wrong geometry.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7a2501620d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| for row in resizes: | ||
| terminal = row.get("terminal") | ||
| at = row.get("t_ms") or 0 | ||
| after = [r for r in repaints if r.get("terminal") == terminal and (r.get("t_ms") or 0) >= at][:2] |
There was a problem hiding this comment.
Use trace order to exclude repaints preceding the resize
When a repaint and a subsequent resize have the same t_ms, this filter incorrectly pairs the earlier repaint with the later resize. Both producers in experiments/shell/shell.cpp use GetTickCount64(), so equal timestamps do not establish event order; the JSONL record order distinguishes them. A synthetic trace containing an 80-column repaint, then an 80→112 resize at the same timestamp, produces resize ... -> 112x24 ... | repaint +0ms 80x24, falsely suggesting an old-grid repaint followed the geometry switch. Select repaint records occurring after the resize record, using timestamps only to calculate the elapsed time.
Useful? React with 👍 / 👎.
内容
research/ui/analyze_output_trace.py增加几何切换与重绘的配对:即每条 resize 记录后紧跟的重绘批次(含消费时刻网格与时间差)。这正是 #194 需要的判据:重绘的消费网格是否与切换目标一致。
实例(本地 test_actions 轨迹)
第三条已经显示出"切换到 112x7 之后 156ms 出现按 111x7 消费的重绘"——正是错位方向。
边界
termforge-resize-trace-v1与termforge-output-trace-v1(都由TERMFORGE_OUTPUT_TRACE产生)。Refs #194